package com.crm.domain.entity;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.Date;

/**
* 角色信息表
* @TableName role
*/
@Data
public class Role implements Serializable {

    /**
    * 角色ID
    */
    @NotNull(message="[角色ID]不能为空")
    @ApiModelProperty("角色ID")
    private Long roleId;
    /**
    * 角色名称
    */
    @NotBlank(message="[角色名称]不能为空")
    @Size(max= 30,message="编码长度不能超过30")
    @ApiModelProperty("角色名称")
    private String roleName;
    /**
    * 角色权限字符串
    */
    @NotBlank(message="[角色权限字符串]不能为空")
    @Size(max= 100,message="编码长度不能超过100")
    @ApiModelProperty("角色权限字符串")
    private String roleKey;
    /**
    * 显示顺序
    */
    @NotNull(message="[显示顺序]不能为空")
    @ApiModelProperty("显示顺序")
    private Integer roleSort;
    /**
    * 数据范围（1：全部数据权限 2：自定数据权限 3：本部门数据权限 4：本部门及以下数据权限）
    */
    @ApiModelProperty("数据范围（1：全部数据权限 2：自定数据权限 3：本部门数据权限 4：本部门及以下数据权限）")
    private String dataScope;
    /**
    * 菜单树选择项是否关联显示
    */
    @ApiModelProperty("菜单树选择项是否关联显示")
    private Integer menuCheckStrictly;
    /**
    * 部门树选择项是否关联显示
    */
    @ApiModelProperty("部门树选择项是否关联显示")
    private Integer deptCheckStrictly;
    /**
    * 角色状态（0正常 1停用）
    */
    @NotNull(message="[角色状态（0正常 1停用）]不能为空")
    @ApiModelProperty("角色状态（0正常 1停用）")
    private String status;
    /**
    * 删除标志（0代表存在 2代表删除）
    */
    @ApiModelProperty("删除标志（0代表存在 2代表删除）")
    private String delFlag;
    /**
    * 创建者
    */
    @Size(max= 64,message="编码长度不能超过64")
    @ApiModelProperty("创建者")
    private String createBy;
    /**
    * 创建时间
    */
    @ApiModelProperty("创建时间")
    private Date createTime;
    /**
    * 更新者
    */
    @Size(max= 64,message="编码长度不能超过64")
    @ApiModelProperty("更新者")
    private String updateBy;
    /**
    * 更新时间
    */
    @ApiModelProperty("更新时间")
    private Date updateTime;
    /**
    * 备注
    */
    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("备注")
    private String remark;



}
